package angels.rn;

import angels.dao.GenericDAO;
import angels.modelo.Crianca;
import angels.modelo.Evento;
import angels.modelo.Responsavel;
import java.util.List;
import javax.faces.model.SelectItem;

public class CriancaRN {

    private final GenericDAO dao = new GenericDAO();

    public Crianca novo() {
        return new Crianca();
    }

    public boolean salvar(Crianca c) {
        if (c.getId() == null) {
            return dao.criar(c);
        } else {
            return dao.alterar(c);
        }
    }

    public boolean remover(Crianca c) {
        return dao.excluir(c);
    }

    public Crianca obter(Integer id) {
        return (Crianca) dao.obter(Crianca.class, id);
    }

    public List<Crianca> obterTodos() {
        return dao.obterTodos(Crianca.class);
    }

    public SelectItem[] getResponsaveis() {
        List<Responsavel> responsavel = dao.obterTodos(Responsavel.class);
        SelectItem[] retorno = new SelectItem[responsavel.size()];
        for (int i = 0; i < retorno.length; i++) {
            retorno[i] = new SelectItem(responsavel.get(i), responsavel.get(i).getNome());
        }
        return retorno;
    }

    public SelectItem[] getEventos() {
        List<Evento> eventos = dao.obterTodos(Evento.class);
        SelectItem[] retorno = new SelectItem[eventos.size()];
        for (int i = 0; i < retorno.length; i++) {
            retorno[i] = new SelectItem(eventos.get(i), eventos.get(i).getNome());
        }
        return retorno;
    }
}
